Skip to content

Update remotejdk_21 to Zulu 21.0.12 - #370

Open
davido wants to merge 1 commit into
bazelbuild:masterfrom
davido:bump-remotejdk21-21.0.12
Open

Update remotejdk_21 to Zulu 21.0.12#370
davido wants to merge 1 commit into
bazelbuild:masterfrom
davido:bump-remotejdk21-21.0.12

Conversation

@davido

@davido davido commented Aug 5, 2026

Copy link
Copy Markdown

Bump the remotejdk_21 pins from Zulu 21.46.19 (OpenJDK 21.0.9) to Zulu 21.52.15 (OpenJDK 21.0.12) for all six platforms.

Zulu 21.0.9 lacks the backport of JDK-8341779 (reading type-use annotations on type-variable bounds from class files). This makes recent Error Prone report false positives such as
NullArgumentForNonNullParameter on documented Guava API usage, e.g. Iterables.getFirst(iterable, null), when compiling with the Java 21 toolchain; see google/error-prone#5436 for the analysis by the Error Prone maintainers.

Note that Azul changed the layout of the macOS tar.gz archives after 21.0.9: they now contain a macOS application bundle with the JDK under Contents/Home instead of a flat JDK image (the Zulu 25 macOS archives are still flat). The strip_prefix of the two macOS entries therefore descends into Contents/Home.

SHA-256 checksums are taken from the Azul metadata API; the linux_x64 and macosx_x64 artifacts were additionally downloaded and verified locally.

Fixes #369

@davido
davido requested review from a team and hvadehra as code owners August 5, 2026 13:30
Comment thread java/repositories.bzl
@hvadehra

hvadehra commented Aug 6, 2026

Copy link
Copy Markdown
Member

Note that Azul changed the layout of the macOS tar.gz archives after 21.0.9: they now contain a macOS application bundle with the JDK under Contents/Home instead of a flat JDK image (the Zulu 25 macOS archives are still flat). The strip_prefix of the two macOS entries therefore descends into Contents/Home.

fwiw, it seems like this was always the case, but there used to be bin,lib, etc symlinks from the root dir into Contents/Home which are not present in the new release.

@hvadehra

hvadehra commented Aug 6, 2026

Copy link
Copy Markdown
Member

I'm working on a fix the failing test to support this new release

copybara-service Bot pushed a commit that referenced this pull request Aug 6, 2026
Instead of looking at just the top level directory, we find the first '/bin' directory (or symlink).

Context from #370

`Note that Azul changed the layout of the macOS tar.gz archives after 21.0.9: they now contain a macOS application bundle with the JDK under Contents/Home instead of a flat JDK image (the Zulu 25 macOS archives are still flat). The strip_prefix of the two macOS entries therefore descends into Contents/Home.`

(ignore-relnotes)

PiperOrigin-RevId: 960249078
Change-Id: I7b4e93dfc395985a672795204cad10fba20fcf93
@hvadehra

hvadehra commented Aug 6, 2026

Copy link
Copy Markdown
Member

I'm working on a fix the failing test to support this new release

Done in ed021f9 , please rebase to HEAD.

Bump the remotejdk_21 pins from Zulu 21.46.19 (OpenJDK 21.0.9) to
Zulu 21.52.15 (OpenJDK 21.0.12) for all six platforms.

Zulu 21.0.9 lacks the backport of JDK-8341779 (reading type-use
annotations on type-variable bounds from class files). This makes
recent Error Prone report false positives such as
NullArgumentForNonNullParameter on documented Guava API usage, e.g.
Iterables.getFirst(iterable, null), when compiling with the Java 21
toolchain; see google/error-prone#5436 for the analysis by the
Error Prone maintainers.

The release is bumped in java/bazel/repositories_util.bzl and the
config list regenerated with java/bazel:dump_remote_jdk_configs, as
prescribed by the header of the generated list.

Note that the macOS tar.gz archives changed after 21.0.9: the JDK
has always lived in an application bundle under Contents/Home, but
earlier releases also provided bin, lib, etc. symlinks from the
archive root into Contents/Home, and those symlinks are gone in the
new release. This is expressed as two entries in
_STRIP_PREFIX_OVERRIDES; without them a plain version bump breaks
the macOS toolchains.

Fixes bazelbuild#369
@davido
davido force-pushed the bump-remotejdk21-21.0.12 branch from 89e653f to b4145b7 Compare August 6, 2026 15:53
@davido

davido commented Aug 6, 2026

Copy link
Copy Markdown
Author

Done in ed021f9 , please rebase to HEAD.

Rebased onto HEAD (on top of ed021f9) — thanks for fixing the check script.

Also thanks for the symlink correction: you're right that the bundle layout was always there and it's the root-level bin/lib symlinks into Contents/Home that are gone in the new release. I've updated the commit message accordingly; the diff itself is unchanged (same six pins, same checksums, same two _STRIP_PREFIX_OVERRIDES entries).

PTAL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

remotejdk_21 (Zulu 21.0.9) lacks the JDK-8341779 backport, causing Error Prone false positives

2 participants